<template id="temp">
  <h1>tsx 在vue3中使用</h1>
  <div>
    <ol>
      <li>
        <h3>安装</h3>
        <p>npm install @vitejs/plugin-vue-jsx</p>
        <p>yarn add @vitejs/plugin-vue-jsx</p>
      </li>
      <li>
        <h3>配置</h3>
        <p>在tsconfig.json中</p>
        <p>
          "jsx": "preserve", <br />
          "jsxFactory": "h",<br />
          "jsxFragmentFactory": "Fragment",<br />
        </p>
        <br />
        <p>在vite.config.ts</p>
        <img src="../../assets/img/vite_config.jpg" alt="" />
      </li>
    </ol>
  </div>
  <Example title="标题" @on-click="getEmit"></Example>
</template>
<script lang="tsx" setup>
import Example from "./example";

const getEmit = (num: any) => {
  console.log(num, "父组件接收到了");
};
/* 给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 target  的那 两个 整数，并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。

输入：nums = [2,7,11,15], target = 9
输出：[0,1]
解释：因为 nums[0] + nums[1] == 9 ，返回 [0, 1] 。

输入：nums = [3,2,4], target = 6
输出：[1,2]
 */
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function (nums: Array<number>, target: number) {
  let arr: any[] = [];
  for (let i = 0; i < nums.length; i++) {
    let k: number;
    for (k = i + 1; k < nums.length; k++) {
      if (nums[i] + nums[k] === target) {
        const arr1: number[] = [i, k];
        arr.push(arr1);
      }
    }
  }
  return arr;
};
twoSum([2, 7, 11, 15, 0, 9], 9);
</script>
<style lang="less" scoped>
li {
  padding: 10px;
}
</style>
